﻿using T.FAS.Runtime.Base.Entity;
using T.FAS.Runtime.Expression.Entity;

namespace T.FAS.Runtime.MF.Activities
{
    public interface IFasExpService
    {
        ExprResult Execute(string jsString, FASContext fASContext, Dictionary<string, object> inputParam);

        /// <summary>
        /// 执行JS脚本
        /// </summary>
        /// <returns></returns>
        ExprResult JSExecute(string jsString, Dictionary<string, object> inputParam);

        /// <summary>
        /// 执行JS脚本不上报异常
        /// </summary>
        /// <returns></returns>
        ExprResult JSExecuteNotReport(string jsString, Dictionary<string, object> inputParam);

        /// <summary>
        /// DQ执行表达式
        /// </summary>
        /// <returns></returns>
        ExprResult DQExecute(string jsString, Dictionary<string, object> inputParam);
        /// <summary>
        /// 调试表达式
        /// </summary>
        /// <param name="jsString"></param>
        /// <param name="inputParam"></param>
        /// <returns></returns>
        ExprResult Debug(string jsString, Dictionary<string, object> inputParam,Dictionary<string,string> extraParams);

    }
}
